System and method for associating characters to keys in a keypad in an electronic device

ABSTRACT

The disclosure relates to a system and method of mapping a layout of a keyboard onto a keypad in an electronic device. The method comprising steps of: providing a definition of a map of a keyboard layout as a collection of segments of the keyboard layout; associating a set of characters in one segment of the segments to programmable keys in the keypad; and selectively associating the programmable keys with another set of characters in another segment of the segments based on a signal received from a navigation system. The system is embodied in an electronic device, including a wireless device.

FIELD OF THE INVENTION

The invention described herein relates to a system and method forassociating characters to keys on a keypad of an electronic device, suchas a handheld communication device. In particular, the inventiondescribed herein relates to dynamically mapping a portion of a fullkeypad to a set of keys on a keypad.

BACKGROUND OF THE INVENTION

Mobile telephonic devices (MTD) such as cell phones and phone-enabledPersonal Digital Assistants (PDAs) are connected to a wireless networkwhere one or more such devices communicate voice or data to each otheror to external services. Services can include making external phonecalls to land-line voice networks, making phone calls to other cellphones, leaving or retrieving voice mail messages or exchanging datamessages, such as e-mails, text messages, pages and others. Such devicessend and receive a variety of communications in a variety of formats.Such devices can also track appointments and store electronic notes. Allof the communications, appointments and notes are logged within thedevice. Text is entered into the device by a user through a keypad.

There is a tendency for such devices to provide more features and largerdisplays in smaller form factors. As such, available real estate shrinksfor other needed elements, such as the keypad or a keyboard. Somedevices have only a numeric keypad or a keypad which does not provide afull complement of keys for a QWERTY-styled keyboard layout. There is aneed to provide access to a larger set of keys for such keypads.

As such, there is a need to address deficiencies in the prior art.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described, by way of example only, withreference to the accompanying drawings, in which:

FIG. 1 is a schematic representation of an electronic device having akeypad and a keypad mapping system in accordance with an embodiment;

FIG. 2 is a block diagram of internal components within the device ofFIG. 1;

FIG. 3 is a schematic representation of a mapping layout of full-sizedkeypad used by an embodiment;

FIG. 4 is a schematic representation of another device having anotherkeypad and a keypad mapping system using the mapping of FIG. 3, allaccording to an embodiment;

FIG. 5A is a schematic representation of yet another device having yetanother keypad and the keyboard mapping system using the mapping of FIG.3, all according to an embodiment;

FIG. 5B is a schematic representation of the device of FIG. 5A duringoperation of the keyboard mapping system;

FIG. 5C is a schematic representation of the device of FIG. 5A duringoperation of the keyboard mapping system after a new map is programmedonto its keypad;

FIG. 5D is a schematic representation of the device of FIG. 5A duringoperation of the keyboard mapping system after another new map isprogrammed onto its keypad;

FIG. 6 is a flow chart of an exemplary mapping of characters to the keysof the device of FIG. 5A during operation of the keyboard mapping systemusing another mapping layout; and

FIG. 7 is a block diagram showing relationships among the keypad, thekeypad mapping system, a keystroke arbitrator, a dictionary module, adictionary in a database and internal components of embodiments of FIGS.1, 3 and 5A.

DETAILED DESCRIPTION OF AN EMBODIMENT

The description which follows and the embodiments described therein areprovided by way of illustration of an example or examples of particularembodiments of the principles of the present invention. These examplesare provided for the purposes of explanation and not limitation of thoseprinciples and of the invention. In the description which follows, likeparts are marked throughout the specification and the drawings with thesame respective reference numerals.

In a first aspect of an embodiment, a method of mapping a layout of akeyboard onto a keypad in an electronic device is provided. The methodcomprises steps of: providing a definition of a map of a keyboard layoutthrough a collection of segments of the keyboard layout; associating aset of characters in one of the segments to programmable keys in thekeypad; and selectively associating the programmable keys with anotherset of characters in another segment based on a signal received from anavigation system.

In the method, the navigation system may utilize input signals providedfrom at least one key in the device.

In the method, in one segment one key of the programmable keys may besimultaneously associated with at least two characters. The methodfurther comprises selecting one of those characters by disambiguating aword currently being entered that includes either character.

In the method, a set of icons may be generated on a display in thedevice identifying the set of characters. Further, in the method analternative set of characters may be associated with the programmablekeys when an alternative layout key is activated.

In the method, an alternative set of icons may be generated on a displayin the device identifying the set alternative of characters when thealternative layout key is activated.

In the method, the navigation system may provide wrapping of segments tonon-adjacent segments that are located at edges of the map.

In a second aspect, an electronic device is provided, comprising: akeypad; data identifying segments collectively mapping a keyboardlayout; a programmable keys in the keypad; and a mapping module system.The mapping module selectively associates characters in one segment tothe programmable keys based on inputs provided to a navigation system.

In the device, the navigation system may utilize input signals providedfrom a key in the device.

In the device, in one segment one of the programmable keys may besimultaneously associated with at least two characters. Therein, anarbitrator module may select a character from the two characters bydisambiguating a word currently being entered that includes eithercharacter.

In the device as claimed a set of icons may be generated on a display inthe device identifying the set of characters.

In the device, an alternative set of characters may be associated withthe programmable keys when an alternative layout key is activated.

In the device, an alternative set of icons may be generated on thedisplay in the device identifying the set alternative of characters whenthe alternative layout key is activated.

In other aspects, combinations of sets and subsets of the above notedaspects are provided.

Referring to FIG. 1, an electronic device for receiving electroniccommunications, in accordance with an embodiment of the invention isindicated generally at 10. In the present embodiment, electronic device10 is based on a computing platform having functionality of an enhancedpersonal digital assistant with cellphone and e-mail features. It is,however, to be understood that electronic device 10 can be based onconstruction, design and functions of other electronic devices, such assmart telephones, desktop computers pagers or laptops having telephonyequipment. In a present embodiment, electronic device 10 includes, ahousing 12, which frames an LCD display 14, a speaker 16, an LEDindicator 19, a trackwheel 20, an exit key 22, keypad 24 and a telephoneheadset comprised of an ear bud 28 and a microphone 30. Trackwheel 20and exit key 22 can be inwardly depressed along the path of arrow “A” asa means to provide additional user-input. Keypad 24 is shown as a matrixof two rows of keys with each row having eight keys. This arrangement ofkeys has a complement of keys that is smaller than the standard“QWERTY”keyboard. As such, in order to provide the full complement ofQWERTY keys, some form of mapping of keys from the QWERTY layout to thelayout of keypad 24 is required. Further detail is provided on thismapping below. Directional key 32 is a “rocker”-type key that has acenter rest position and can be tilted or moved from its rest positionin one of several directions (e.g. up, down, left or right, when viewingthe front of device 10) to activate a programmed function associatedwith the direction of activation. A joystick or a rollerball inputdevice can also be used instead or in addition to key 32.

Various applications are provided on device 10, including email,telephone, calendar and address book applications. A graphical userinterface (GUI) to activate these applications is provided on display 14through a series of icons 26. Shown are calendar icon 26, telephone icon26, email icon 26 and address book icon 26. Such applications can beselected and activated using the keypad 24 and/or the trackwheel 20.Further detail on selected applications is provided below.

It will be understood that housing 12 can be made from any suitablematerial as will occur to those of skill in the art. Device 10 isoperable to conduct wireless telephone calls, using any known wirelessphone system such as a Global System for Mobile Communications (“GSM”)system, Code Division Multiple Access (“CDMA”) system, Cellular DigitalPacket Data (“CDPD”) system and Time Division Multiple Access (“TDMA”)system. Other wireless phone systems can include Bluetooth and manyforms of 802.11 wireless broadband, like 802.11a, 802.11b, 802.11 g,etc. that can support voice. Other embodiments include Voice over IP(VoIP) type streaming data communications that can simulate circuitswitched phone calls. Ear bud 28 can be used to listen to phone callsand other sound messages and microphone 30 can be used to speak into andinput sound messages to device 10.

Referring to FIG. 2, functional elements of device 10 are provided. Thefunctional elements are generally electronic or electro-mechanicaldevices. In particular, microprocessor 18 is provided to control andreceive almost all data, transmissions, inputs and outputs related todevice 10. Microprocessor 18 is shown schematically as coupled to keypad24, display 14 and other internal devices. Microprocessor 18 controlsthe operation of the display 14, as well as the overall operation of thedevice 10, in response to actuation of keys on the keypad 24 by a user.Exemplary microprocessors for microprocessor 18 include Data 950 ™series microprocessors and the 6200 series microprocessors, allavailable from Intel Corporation.

In addition to the microprocessor 18, other internal devices of thedevice 10 include: a communication subsystem 100; a short-rangecommunication subsystem 102; keypad 24; and display 14; with otherinput/output devices including a set of auxiliary I/O devices 106, aserial port 108, a speaker 16 and a microphone port 112 for microphone30; as well as memory devices including a flash memory 116 (whichprovides persistent storage of data) and random access memory (RAM) 118;clock 120 and other device subsystems (not shown). The device 10 ispreferably a two-way radio frequency (RF) communication device havingvoice and data communication capabilities. In addition, device 10preferably has the capability to communicate with other computer systemsvia the Internet.

Operating system software executed by microprocessor 18 is preferablystored in a computer readable medium, such as flash memory 116, but maybe stored in other types of memory devices, such as read only memory(ROM) or similar storage element. In addition, system software, specificdevice applications, or parts thereof, may be temporarily loaded into avolatile storage medium, such as RAM 118. Communication signals receivedby the mobile device may also be stored to RAM 118.

Microprocessor 18, in addition to its operating system functions,enables execution of software applications on device 10. A set ofsoftware applications 130 that control basic device operations, such asa voice communication module 130A and a data communication module 130B,may be installed on the device 10 during manufacture or downloadedthereafter.

Communication functions, including data and voice communications, areperformed through the communication subsystem 100 and the short-rangecommunication subsystem 102. Collectively, subsystem 102 and subsystem100 provide the signal-level interface for all communicationtechnologies processed by device 10. Various other applications 130provide the operational controls to further process and log thecommunications. Communication subsystem 100 includes receiver 150,transmitter 152 and one or more antennas, illustrated as receive antenna154 and transmit antenna 156. In addition, communication subsystem 100also includes processing module, such as digital signal processor (DSP)158 and local oscillators (LOs) 160. The specific design andimplementation of communication subsystem 100 is dependent upon thecommunication network in which device 10 is intended to operate. Forexample, communication subsystem 100 of the device 10 may be designed tooperate with the Mobitex™, DataTAC™ or General Packet Radio Service(GPRS) mobile data communication networks and also designed to operatewith any of a variety of voice communication networks, such as AdvancedMobile Phone Service (AMPS), Time Division Multiple Access (TDMA), CodeDivision Multiple Access CDMA, Personal Communication Service (PCS),Global System for Mobile Communication (GSM), etc. Communicationsubsystem 100 provides device 10 with the capability of communicatingwith other devices using various communication technologies, includinginstant messaging (IM) systems, text messaging (TM) systems and shortmessage service (SMS) systems.

In addition to processing communication signals, DSP 158 providescontrol of receiver 150 and transmitter 152. For example, gains appliedto communication signals in receiver 150 and transmitter 152 may beadaptively controlled through automatic gain control algorithmsimplemented in DSP 158.

In a data communication mode a received signal, such as a text messageor web page download, is processed by the communication subsystem 100and is provided as an input to microprocessor 18. The received signal isthen further processed by microprocessor 18 which can then generate anoutput to the display 14 or to an auxiliary I/O device 106. A user mayalso compose data items, such as e-mail messages, using keypad 24, athumbwheel associated with keypad 24, and/or some other auxiliary I/Odevice 106, such as a touchpad, a rocker key, a separate thumbwheel orsome other input device. The composed data items may then be transmittedover communication network 140 via communication subsystem 100.

In a voice communication mode, overall operation of device 10 issubstantially similar to the data communication mode, except thatreceived signals are output to speaker 16, and signals for transmissionare generated by microphone 30. Alternative voice or audio I/Osubsystems, such as a voice message recording subsystem, may also beimplemented on device 10.

Short-range communication subsystem 102 enables communication betweendevice 10 and other proximate systems or devices, which need notnecessarily be similar devices. For example, the short-rangecommunication subsystem may include an infrared device and associatedcircuits and components, or a Bluetooth™ communication module to providefor communication with similarly-enabled systems and devices.

Powering the entire electronics of the mobile handheld communicationdevice is power source 170. Preferably, the power source 170 includesone or more batteries. More preferably, the power source 170 is a singlebattery pack, especially a rechargeable battery pack. A power switch(not shown) provides an “on/off” switch for device 10. Upon activationof the power switch an application 130 is initiated to turn on device10. Upon deactivation of the power switch, an application 130 isinitiated to turn off device 10. Power to device 10 may also becontrolled by other devices and by internal software applications.

Additional applications include calendar 130C which tracks appointmentsand other status matters relating to the user and device 10. Calendar130C is activated by activation of calendar icon 26 on display 14 (FIG.1). It provides a daily/weekly/month electronic schedule ofappointments, meetings and events entered by the user. Calendar 130Ctracks time and day data for device 10 using processor 18 and internalclock 120. The schedule contains data relating to the currentaccessibility of the user. For example it can indicate when the user isbusy, not busy, available or not available. In use, calendar 130Cgenerates input screens on device 10 prompting the user to inputscheduled events through keypad 24. Alternatively, notification forscheduled events could be received via an encoded signal in a receivedcommunication, such as an e-mail, SMS message or voicemail message. Oncethe data relating to the event is entered, calendar 130C storesprocesses information relating to the event; generates data relating tothe event; and stores the data in memory in device 10.

Address book 130D enables device 10 to store contact information forpersons and organizations. Address book 130D is activated by activationof address book icon 26 on display 14 (FIG. 1). In particular, name,address, telephone numbers, e-mail addresses, cellphone numbers andother contact information is stored. The data can be entered throughkeypad 24 and is stored in non-volatile memory, such as persistentstorage 122 in device 10 in a database.

Email application 130E provides modules to allow user of device 10 togenerate email messages on device 10 and send them to their addressees.Application 130E also provides a GUI which provides a historical list ofemails received, drafted, saved and sent. Text for emails can be enteredthrough keypad 24. Email application 130E is activated by activation ofemail icon 26 on display 14 (FIG. 1).

Key mapping module 130F is a module that recognizes when a key on keypad24 is activated and generates a signal for a character currentlyassociated with that key based on a current mapping scheme. The signalfor the character may be used to generate that character on display 14.The signal may be used to alternatively or additionally activate acommand for the software operating on device 10. Key mapping module 130Fis connected to the outputs of keypad 24 and is able to read itssignals. Generally, mapping module 130F operates continuously in thebackground of device 10.

Keypad arbitrator module 130G is a module that disambiguates a keypadentry when a key is entered and there are two or more possiblecharacters that can be generated for it at that time. Dictionary module130H provides word comparison routines to check alternativepossibilities for words when there is an ambiguity as they are beingentered through keypad 24. Further descriptions on modules 130G and 130Hare provided below.

Other applications and modules may be provided in a combination ofhardware and software for device 10 and are shown figuratively asapplications 130N.

Referring to FIGS. 3 and 4 further details on an embodiment areprovided. Generally, the embodiment provides a system and method ofmapping a segment of a keyboard layout onto a programmable set of keysin a device associated with the embodiment. A different segment of thekeyboard layout is mapped to the programmable keys based on signalsreceived by a keyboard map navigation system. As such, a specificprogrammable key can be associated with different keys within thekeyboard layout, depending on what segment is currently being mapped onthe programmable keys. The embodiment utilizes the set of programmablekeys, keyboard layout map and navigation system.

Referring first to FIG. 3, details on a map for keyboard layout isprovided. The map is used by an embodiment to determine how to assigncharacters to the designated programmable keys. For illustrativepurposes of an embodiment, a conventional QWERTY keyboard layout 400 isshown. Other mappings can be provided for other layouts (e.g. numericonly, Dvorak layout etc.). For the map, layout 400 is divided into aseries of segments 402, where each segment 402 comprises a set of keys.Preferably, the cumulative set of segments 402 represent the full set ofkeys in layout 400. It is preferable that each segment contain acontinuous set of keys, with no internal gaps of keys among the keys.Segment may comprise a grid of keys and the programmable keys map to thegrid. Each segment does not necessarily have to have the same dimensionsas the other segments. For example, one segment may have one row ofseven keys and its adjacent segment may comprise two rows of four andfive keys. Adjacent segments may have over-lapping keys repeated in eachsegment. It will be appreciated that there are consistency benefits ifthe dimensions are the same for all or most segments 402. The definitionof the segments 402 are stored as data by the embodiment.

Segments 402 can be comprised of any dimension of keys. As shown forlayout 400, segments 402 are each defined as a single row of keys, e.g.

Segment 1 comprises keys Q W E R T Segment 2 comprises keys Y U I O PSegment 3 comprises keys A S D F G Segment 4 comprises keys H J K L ;{grave over ( )} Segment 5 comprises keys Z X C V B Segment 6 compriseskeys N M , . ?Other segments for the full layout are not shown. Segments 402 aredefined to represent two columns of five keys, with each column dividedinto three rows. Other dimensions of rows and columns can be used.

It will be appreciated that for a given keyboard layout 400, there maybe alternative characters which may be assigned to specific keys for agiven segment. For example, in layout 400 the alphabetic characters canhave a lowercase and an uppercase character. A specific case isgenerated depending on whether the state of the “shift” key. The “shift”key provides an alternative layout for layout 400. Additional charactersmay be accessed by activating another alternative layout key, such as a“alt”, “ctrl”, “open-apple” or “window” key. The embodiment is able torecognize when an alternative layout key is activated and to change avalue of a character for a programmable key accordingly.

Referring now to FIG. 4, device 10 is similar to device 10 of FIG. 1,but has a different layout for keypad 24. The internal components fordevice 10 are comparable to the components noted in FIG. 2 for device 10of FIG. 1. For the purpose of the following description and theembodiment, the devices shown in FIGS. 1 and 4 are equivalent (but fordifferences in the keyboard layouts), unless otherwise noted.

Keypad 24 is shown as having seventeen keys 24 in three rows. Keys 24are sequentially numbered 01 to 17 in a left to right order forconvenience of reference. Additionally, each key 24 may be silk-screenedwith a character, a number or a combination of characters to distinguishit from other keys.

As assignments for the programmable keys change, the values of the iconschange accordingly. Further, if an alternative layout key is activated(e.g. “shift”), then the icons will change as well.

In order to ultimately map the entire (or most of) keyboard layout 400through the set of programmable keys, initially one segment 402 of keysis mapped onto the programmable keys 24A (labelled as keys “01” to “06”)in device 10 of FIG. 3. Subsequently, other segments can be mapped ontothe programmable keys using the navigation system. As such, theembodiment provides a snapshot of the full set of keys in layout 400through keys 24A and the snapshot can be changed to a different segment402 in layout 400 using inputs provided via the navigation system. Oninitiation of device 10, a default keyboard layout may be selected and adefault starting segment 402 may be initially assigned to keys 24A.

In exemplary use, initially the individual characters in Segment 3(characters A, S, D, F, and G) are individually assigned to keys 01through 05. Activation of key 01 will generate an “A” character. For thepresent example, key 06 is not assigned to any key in the Segment. If analternative layout key is activated (e.g. a “shift” key), then thecharacter may change accordingly.

In order to navigate through the layout 400, navigation system uses keys24B, 24C, 24D and 24E navigate through the segments of layout 400. Key24B is an “up” direction key; key 24C is a “down” direction key; key 24Dis a “right” direction key; and key 24E is a “left” direction key. Keys24B, 24C, 24D and 24E are preferably arranged in a layout relative toeach other that implies the direction for each key. As show, keys 24B,24C, 24D and 24E are arranged in a diamond layout, with “up” key 24Bbeing at the top point of the diamond layout. As such, if the currentsegment is Segment 3, using the navigation system, if “up” direction key24B is activated, then programmable keys 24A are mapped to thecharacters in Segment 1, located immediately above Segment 3. Similarly,if “down” direction key 24E is activated, then the characters in Segment5 would be assigned to keys 24A. Corresponding mappings would beassigned if either “left” or “right” direction keys 24B and 24C areactivated. In another navigation system, navigation key 32 may be used.Activating the “up” direction for navigation key 32 has the effect ofactivating “up” direction key 24B. Alternatively or additionally, adifferent set of keys in keypad 24 can be assigned to be the navigationkeys.

The embodiment may allow for “wrapping” of segment mappings ontoprogrammable keys 24A. Wrapping occurs when a direction key is activatedfor a current segment that it at an edge of the map and implementationof the direction key would roll off the edge of the map. The subsequentsegment would be identified from an appropriate segment that is atanother edge in the layout, where that edge has been notionally wrappedto connect to the edge of the current segment.

It will be appreciated that the navigation system described provides anew mapping for programmable keys 24A based on the current mapping andthe direction key (24B-E or 32) that is activated. This scheme providesa change in the mapping relative to the current segment being mapped tokeys 24A. An absolute remapping scheme can also or alternatively be usedwherein for a set of navigation keys, each navigation key is assigned toa particular segment. When a particular navigation key is activated, itsassociated segment is assigned to the programmable keys. For example,key 24B may be associated with Segment 1 and key 24D may be associatedwith Segment 3. Activation of those keys will cause keys 24A to bemapped to the associated segments.

To assist the user of device 10 in seeing what segment 402 is currentlymapped to programmable keys 24A, device 10 generates icons 34 on display14 representing the current segment mapped to programmable keys 24A.Icons 34 are preferably generated in a location on display 14 that isnear programmable keys 24A in order to connote a close association witheach icon 34 to its associated key 24A, e.g. near the bottom of display14. Each icon displays the current key assigned for the associatedprogrammable key. If an alternative access key is pressed (e.g. the“shift” key), then the icons 32 may change to display the correctcharacter (e.g. either in lowercase or uppercase). For another aid toassist the user each key 24A may be silk screened with all or most ofthe different possible characters associated with it (either throughdifferent segments 402 or alternative access keys).

In one mapping, two or more keys may be assigned to a programmable key.For example, one segment may assign both the “D” and “F” keys to oneprogrammable key 24A. When the user activates that key 24A in thatmapping, it will then be necessary to determine which character shouldbe generated. The embodiment disambiguates this situation by conductingan active, on-going spell check as words are entered. When a key 24A isactivated and the embodiment recognizes that the key 24A has two or morecharacters associated with it for the current segment, the embodimentanalyzes the alternative characters in the context of the previouscharacters entered into device 10. A spell check system analyzes thecharacters as words are being entered character-by-character. When a keyhaving multiple current characters is activated, the spell check buildsa set of words based on each of the characters and identifies whichword(s) are more (or most) likely the correct word. Additionally, otherword disambiguation techniques may be used to persons skilled in theart. Such techniques may include using an algorithm based on SmartType™systems.

Arbitrator 130G, as shown in FIG. 2, analyses the alternatives presentlyassigned to the key against previously entered keystrokes todisambiguate the selected value for the key. Word dictionaries 132 indevice 10 may be used to evaluate alternate words considered byarbitrator 130G. Further detail on this arbitration is provided later.

Referring to FIGS. 5A-5D and 6, device 10 of FIG. 5A is similar todevice 10 of FIGS. 1 and 4, but has a different layout for keypad 24 anda different mapping layout. The internal components for device 10 ofFIG. 5A are comparable to the components noted in FIG. 2 for device 10of FIGS. 1 and 4. For the purpose of the following description and theembodiment, the devices shown in FIGS. 1, 4 and 5A are equivalent (butfor differences in the keyboard layouts), unless otherwise noted. InFIG. 5A, device 10 has a further reduced keypad 24, comprising threerows of keys, with the middle row comprising six programmable keys 24A,labelled as 3, 4, 5, 6, 7 and 8.

For device 10 of FIG. 5A, a home row is defined as an initial set ofcharacters for keys 24A and then segments of keys above and below thehome row are defined as additional segments.

Home Row: A S DF GH JK L: Upper Left Row: Q W E R T Y Upper Right Row: UI O P Lower Left Row: Z X C Lower Right Row: V B N M . ?

Referring to FIGS. 5A-5C, the navigation system for device 10 of FIG. 5Ais similar to the navigation systems described above, except that thedirection mapping of keys 24B-D differ from the mapping described fordevices 10 in FIGS. 1 and 4. Navigation key 24B is labelled as 1. It islocated in the top row at the left end and is used as an up directionkey. Navigation key 24C is labelled as *. It is located in the bottomrow at the left end and is used as a down direction key. Navigation key24D is labelled as 2 and is located in the top row at the right end.Navigation key 24E is labelled as # and is located in the bottom row atthe right end. Keys 24D and 24E are also used as up and down directionkeys, but in different contexts than keys 24B and 24C.

Briefly, using the layout as described for the home row, to begin as adefault, keys 24A are programmable to the characters in the longsegment. The six programmable keys 24A need to map to the 10 characters.As such, some of the programmable keys 24A are provided with multiplecharacter assignments for the long row. For example, as shown in FIG.5B:

characters D and F are assigned to key “5”;

characters G and H are assigned to key “6”;

characters J and K are assigned to key “7”; and

characters L and : are assigned to key “8”.

When any key 24A having multiple characters associated with it isactivated, a character may be selected among the alternatives usingtechniques described earlier.

Icons 34 in display 14 show the mappings of the characters to the keys24A. Subsequent activation of the navigation keys 24B, 24C, 24D and 24Ewill map keys 24A to different rows.

In particular, referring to FIG. 5C, if key 24B is activated from thehome row, then keys 24A are mapped to the Upper Left Row keys. Referringto FIG. 5D, if key 24C is activated from the home row, then keys 24A aremapped to the Lower Right Row keys.

Similarly, when the right half of the layout 400 is mapped to keys 24A,the right navigation keys 24D and 24E are used to change the mappingfrom the current row to another row in the right half according to thenavigation keys activated. When the mapping is at the bottom of theright half, i.e. Segment 6, activation of the left down navigation key24C maps Segment 5 layout 400 onto keys 24A. When the mapping is at thetop of the right, i.e. Segment 2, activation of the navigation key 24Dmaps the Segment 1 onto keys 24A.

It will be appreciated that other navigation assignments can be devisedusing a different number of navigation keys for other keyboard layouts.For example, an alternative layout for a keyboard divides layout 400into a left half, comprising Segments 1, 3 and 5 and a right half,comprising Segments 2, 4 and 6. Navigation keys 24B and 24C can bepredominantly used when the left half of layout 400 is being accessedand keys 24D and 24E are predominantly used when the right half is beingaccessed.

Referring to FIG. 6, a flow of changes of assignments of Segments tokeys 24A on device is provided for the layout described immediatelyabove, as a user activates different navigations keys. The rows ofcharacters represent segments 402 currently assigned to keys 24A. Thearrows between rows indicate the navigation key recently activated andthe new segment assigned to keys 24A. For example, when a segment fromthe left half of the layout is mapped to keys 24A of device 10 of FIG.5A, the left navigation keys 24B and 24C are used to change the mappingof characters from the current row to another row in the left half bygoing up and down the left half according to the navigation keyactivated. When the mapping is at the bottom of the left half, i.e.Segment 5, activation of the right down navigation key 24E maps thebottom segment of the right half of layout 400 onto keys 24A, namelySegment 6. When the mapping is at the top of the left half, i.e. Segment1, activation of the right up navigation key 24D maps the top segment ofthe right half of layout 400 onto keys 24A, namely Segment 2.

Specific relationships of elements of device 10 as collectivelypreviously described are shown in FIG. 7 where microprocessor 18 is inelectrical communication with keypad mapping module 130F, arbitrator130G, dictionary module 130H and database 132. As with other electronicdevices, microprocessor 18 executes software to control operation ofdevice 10. Database 132 stores dictionary data used by dictionary module130H, keyboard mapping schemes, segment schemes, and icons for schemesused by mapping module 130F. There may be more than one map stored inthe database.

Keypad mapping module 130G accesses the mapping scheme data and respondsto various inputs from the navigation system to control assignment ofcharacters to keys 24A and to generate appropriate key icons 32 ondisplay 14. For the embodiment, module 130G provides the navigationsystem described earlier. The navigation system recognizes when apredetermined navigation key is activated (e.g. keys 24B-D or key 32),then identifies which next segment 402 should be mapped to keys 24A.These steps may be achieved by having a map of the segments 402 forlayout 400 accessible in database 132 and tracking the current locationof the current segment 402 that is mapped to keys 24A. Depending on whatnavigation key is activated, navigation system determines what and whena next segment 402 is mapped to keys 24A. Navigation system may haverules to govern how and when keys 24A are remapped. Module 130G also hasa database and a module to generate icons 34 (FIG. 3) on display 14according to the current segment assigned to the programmable keys.

When a key has multiple characters associated with it for its currentmapping, arbitrator 130G is used to select a character from thealternatives. Arbitrator 130G builds words as characters are enteredusing the different values for the key. Dictionary module 130H cangenerate queries to database 132 storing a dictionary for words known bythe embodiment. The results of the queries are provided to arbitrator130G. The unselected alternatives are ignored. The selection criteriamaybe based on probabilities and/or rankings of the alternatives. Basedon the results of the queries, arbitrator 130G selects a character fromthe alternatives. That character is then generated by the embodiment ondisplay 14 and may be used to initiate other processes on device 10.

Additional information about the embodiment is provided below.

It will be appreciated that keystroke mapping module 130F, arbitrator130G, dictionary module 130H and other applications in the embodimentscan be implemented using known programming techniques, languages andalgorithms using any combination of software, firmware and hardware. Thetitles of the modules are provided as a convenience to provide labelsand assign functions to certain modules. It is not required that eachmodule perform only its functions as described above. As such, specificfunctionalities for each application may be moved between applicationsor separated into different applications. Different signallingtechniques may be used to communicate information between applicationsusing known programming techniques. Known data storage, access andupdate algorithms allow data to be shared between applications.

Further detail is now provided on how an embodiment determines when akey in keypad 24 is being activated. Activation of a key generallyfollows a keystroke depress and release cycle of a switch: a key isinitially in a rest (un-activated) position, then it is activated by theuser by the user pressing down on the key until an activation point ispassed, then it is held down for a length of time, and finally, it isreleased and returns to its rest position. The technology of the keypaddetermines how a key is activated and what signals are generated. Atypical electro-mechanical keypad has a switch which is normally “open”and is depressed to a “closed” position, which then completes anelectrical circuit and generates an electrical signal. When the key isreleased, it returns to its rest position and the circuit become “open”again. For example, when the “a” key is pressed, keypad 24 generates asignal indicating activation of the “a” key and when the “a” key isreleased, keypad 24 generates another signal indicating the release ofkey. The signals can be analog or digital signals. Conditions and statesof analog signals may be determined from the level of the signal or atransition of the signal from one level to another. The analog signalmay also be a pulse signal. All signals are provided to mapping module130F for further processing.

Keypad technologies may use pressure sensing devices, strain gauges,touch screens, elastomer panels with carbon pucks, electrical switchesand other technologies to identify when a key is being activated.Depending on the implementation, a key can be recognized as beingactivated on the completion of its downstroke (i.e. when it is initiallybeing activated) or the completion of its upstroke (i.e. after the keyhad been activated and then subsequently has been released). Mostapplications utilize the downstroke of a key to represent itsactivation; however, the upstroke may also used. Other signals, such asthe time of activation and pressure data for the key may also beprovided.

Although the embodiment is described as being related to a portablecommunication device, it will be appreciated that other embodiments areprovided which may not be portable. As long as there is an input devicewith the potential for having nearly simultaneously or simultaneouslyactivated triggers, features of the embodiments described herein can beapplied to resolving any conflicts among input signals received by theinput device.

The present invention is defined by the claims appended hereto, with theforegoing description being merely illustrative of a preferredembodiment of the invention. Those of ordinary skill may envisagecertain modifications to the foregoing embodiments which, although notexplicitly discussed herein, do not depart from the scope of theinvention, as defined by the appended claims.

1. A method of mapping a layout of a keyboard onto a keypad in anelectronic device, the method comprising steps of: providing adefinition of a map of a keyboard layout of a QWERTY keyboard layoutthrough a collection of segments of said keyboard layout; associating aset of characters in one segment of said segments to programmable keysin said keypad; providing a navigation system for moving through saidkeyboard layout, said navigation system having a left set of directionalkeys providing upper and lower navigation controls for said programmablekeys when said set of characters are from a left column of segments insaid collection of segments; and a right set of directional keysproviding upper and lower navigation controls for said programmable keyswhen said set of characters are from a right column of segments in saidcollection of segments; and associating said programmable keys withanother set of characters in another segment of said segments based on asignal received from said navigation system, wherein said collection ofsegments define rows having said left and right columns of segments ofsaid QWERTY keyboard layout.
 2. The method of mapping a layout of akeyboard onto a keypad in an electronic device as claimed in claim 1,wherein said navigation system comprises a plurality of navigationinputs providing at least three directions from said set of charactersto identify said another set of characters.
 3. The method of mapping alayout of a keyboard onto a keypad in an electronic device as claimed inclaim 2, wherein: in one segment of said segments, one key of saidprogrammable keys is simultaneously associated with at least twocharacters; and said method further comprises selecting one characterfrom said at least two characters by disambiguating a word currentlybeing entered that includes either character of said at least twocharacters.
 4. The method of mapping a layout of a keyboard onto akeypad in an electronic device as claimed in claim 2, wherein a set oficons is generated on a display in said device identifying said set ofcharacters.
 5. The method of mapping a layout of a keyboard onto akeypad in an electronic device as claimed in claim 4, wherein analternative set of characters is associated with said programmable keyswhen an alternative layout key is activated.
 6. The method of mapping alayout of a keyboard onto a keypad in an electronic device as claimed inclaim 5, wherein an alternative set of icons is generated on a displayin said device identifying said set alternative of characters when saidalternative layout key is activated.
 7. The method of mapping a layoutof a keyboard onto a keypad in an electronic device as claimed in claim6, wherein said navigation system provides wrapping of segments tonon-adjacent segments that are located at edges of said map.
 8. Anelectronic device comprising: a keypad having a set of a programmablekeys in said keypad; data identifying a plurality of segmentscollectively mapping a QWERTY keyboard layout for said keypad; akeyboard navigation system having a left set of directional keysproviding upper and lower navigation controls for said programmable keyswhen said set of characters are from a left column of segments in saidcollection of segments; and a right set of directional keys providingupper and lower navigation controls for said programmable keys when saidset of characters are from a right column of segments in said collectionof segments; and a mapping module system selectively associatingcharacters in one segment of said plurality of segments to saidprogrammable keys based on inputs provided to said navigation system,wherein said plurality of segments define rows having said left andright columns of segments of said QWERTY keyboard layout.
 9. Theelectronic device as claimed in claim 8, wherein said navigation systemutilizes navigation inputs from one of at least three directions fromsaid set of characters to identify said another set of characters. 10.The electronic device as claimed in claim 9, wherein: in one segment ofsaid plurality of segments, one key of said programmable keys issimultaneously associated with at least two characters; and anarbitrator module selects one character from said at least twocharacters by disambiguating a word currently being entered thatincludes either character of said at least two characters.
 11. Theelectronic device as claimed in claim 10, wherein a set of icons isgenerated on a display in said device identifying said set ofcharacters.
 12. The electronic device as claimed in claim 11, wherein analternative set of characters is associated with said programmable keyswhen an alternative layout key is activated.
 13. The electronic deviceas claimed in claim 11, wherein an alternative set of icons is generatedon said display in said device identifying said set alternative ofcharacters when said alternative layout key is activated.
 14. Theelectronic device as claimed in claim 8, wherein: said right set ofdirectional keys provide access to a segment in said right column ofsaid segments when said set of characters are from said left column ofsegments; and said left set of directional keys provide access to asegment in said left column of said segments when said set of charactersare from said right column of segments.
 15. The method of mapping alayout of a keyboard onto a keypad in an electronic device as claimed inclaim 1, wherein: said right set of directional keys provide access to asegment in said right column of said segments when said set ofcharacters are from said left column of segments; and said left set ofdirectional keys provide access to a segment in said left column of saidsegments when said set of characters are from said right column ofsegments.
 16. The electronic device as claimed in claim 9, wherein forsaid one segment, one row in said plurality of segments includes atleast the characters “A”, “S”, “D” and “G”.
 17. The electronic device asclaimed in claim 16, wherein said another set of characters are a secondrow in said plurality of segments including at least the characters “H”,“J”, “K” and “L” when a right directional key in said navigation systemis activated.
 18. The method of mapping a layout of a keyboard onto akeypad in an electronic device as claimed in claim 1, wherein for saidone segment, one row in said plurality of segments includes at least thecharacters “A”, “S”, “D” and “G”.
 19. The method of mapping a layout ofa keyboard onto a keypad in an electronic device as claimed in claim 16,wherein said another set of characters are a second row in saidplurality of segments including at least the characters “H”, “J”, “K”and “L” when a right directional key in said navigation system isactivated.